Content attributes depicted in a social network

ABSTRACT

An example operation may include a method comprising one or more of receiving, by a server, a proposed update to data, wherein the data is one or more of a process, and a document, determining keywords based on a parsing of the proposed update, determining a criticalness of the proposed update, based on the keywords, determining a user related to the data; and notifying the user when the criticalness exceeds a threshold.

TECHNICAL FIELD

This application generally relates to content changes and morespecifically relates to the automatic notification of critical eventsrelated to documents via communication in a social network.

BACKGROUND

The current application builds upon existing functionality anddetermines the relationship of data (e.g. a document, a message, etc.)in the system such that data may be compared against at least one otherdata in the system to determine the amount of relevance therein. Datasuch as messages and/or document updates are scanned via the currentapplication to determine the criticalness of the effect of the data. Insome embodiments, document owners are notified of the modificationsand/or potential modifications to the document.

SUMMARY

An example operation may include a method comprising one or more ofreceiving, by a server, a proposed update to data, wherein the data isone or more of a process, and a document, determining keywords based ona parsing of the proposed update, determining a criticalness of theproposed update, based on the keywords, determining a user related tothe data; and notifying the user when the criticalness exceeds athreshold.

Another example operation may include a system comprising a serverincluding a processor and memory, wherein the processor is configured toperform one or more of receive a proposed update to data, wherein thedata is one or more of a process, and a document, determine keywordsbased on a parsing of the proposed update, determine a criticalness ofthe proposed update, based on the keywords, determine a user related tothe data, and notify the user when the criticalness exceeds a threshold.

A further example operation may include a non-transitory computerreadable medium comprising instructions, that when read by a processor,cause the processor to perform one or more of receiving, by a server, aproposed update to data, wherein the data is one or more of a process,and a document, determining keywords based on a parsing of the proposedupdate, determining a criticalness of the proposed update, based on thekeywords, determining a user related to the data, and notifying the userwhen the criticalness exceeds a threshold.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system diagram in one embodiment of the current application.

FIG. 1A is a snapshot of a GUI component in one embodiment of thecurrent application.

FIG. 2 is a graphical representation of the relationship of documents inone embodiment of the current application.

FIG. 3 is a graphical representation of the relationship of documentsshowing document details in one embodiment of the current application.

FIG. 4 is another graphical representation of the relationship ofdocuments in one embodiment of the current application.

FIG. 5 is a further graphical representation of the relationship ofdocuments in one embodiment of the current application.

FIG. 6 is a yet further graphical representation of the relationship ofdocuments in one embodiment of the current application.

FIG. 7 is a message flow of the current functionality of one embodimentof the current application.

FIG. 8 is a second system diagram in one embodiment of the currentapplication.

FIG. 9 is a flowchart of the system notifying the driver in oneembodiment of the current application.

DETAILED DESCRIPTION

It will be readily understood that the instant components and/or steps,as generally described and illustrated in the figures herein, may bearranged and designed in a wide variety of different configurations.Thus, the following detailed description of the embodiments of at leastone of a method, system, component and non-transitory computer readablemedium, as represented in the attached figures, is not intended to limitthe scope of the application as claimed but is merely representative ofselected embodiments.

The instant features, structures, or characteristics as describedthroughout this specification may be combined in any suitable manner inone or more embodiments. For example, the usage of the phrases “exampleembodiments”, “some embodiments”, or other similar language, throughoutthis specification refers to the fact that a particular feature,structure, or characteristic described in connection with the embodimentmay be included in at least one embodiment. Thus, appearances of thephrases “example embodiments”, “in some embodiments”, “in otherembodiments”, or other similar language, throughout this specificationdo not necessarily all refer to the same group of embodiments, and thedescribed features, structures, or characteristics may be combined inany suitable manner in one or more embodiments.

In addition, while the term “message” may have been used in thedescription of embodiments, the application may be applied to many typesof network data, such as, packet, frame, datagram, etc. The term“message” also includes packet, frame, datagram, and any equivalentsthereof. Furthermore, while certain types of messages and signaling maybe depicted in exemplary embodiments they are not limited to a certaintype of message, and the application is not limited to a certain type ofsignaling.

FIG. 1 illustrates a system diagram in one embodiment of the currentapplication 100 in accordance with the present disclosure.

There exist two main entities in the system diagram: a list of clientdevices 102 and a system 106. The client devices may be at least one ofa mobile device 102, a tablet 102, a laptop device 102 c and/or apersonal desktop computer 102 d. The client device is communicablycoupled to the network 104, which is also communicably coupled to asystem 106.

It should be noted that other types of devices might be used with thepresent application. For example, a PDA, an MP3 player, or any otherwireless device, a gaming device (such as a hand held system or homebased system), any computer wearable device, and the like (including aP.C. or other wired device) that may transmit and receive informationmay be used with the present application. The client device may executea user browser used to interface with the network 104, an emailapplication used to send and receive emails, a text application used tosend and receive text messages, and many other types of applications.Communication may occur between the client device and the network 104via applications executing on said device and may be applicationsdownloaded via an application store or may reside on the client deviceby default. Additionally, communication may occur on the client devicewherein the client device's operating system performs the logic tocommunicate without the use of either an inherent or downloadedapplication.

System 106 may be a data center that supports or hosts an onlineapplication or service that features a community or network of users,such as a social network or a professional network. Users of system 106may be termed members because they may be required to register with thesystem in order to use the application or service.

Members may be identified and differentiated by username, electronicmail address, telephone number, and/or some other unique identifier.Users/members of a service or services hosted by system 106 connect tothe system via client devices such as mobile devices (e.g., smart phone,tablet computer, laptop computer), stationary (e.g., desktop computer,workstation) or via any other device containing a processor and memorysuch as wearable devices. In order to interact with the system, theclient devices operate suitable client applications, such as a browserprogram or an application designed specifically to access a serviceoffered by system 106.

Client devices 102 may be coupled to system 106 via direct channelsand/or one or more networks 104 or other shared channels, which mayinclude the Internet, intranets, and/or other networks such a internalInternet or Intranet, and may incorporate wired and/or wirelesscommunication links.

Interactive user/member sessions are generally made through portal 112,which may comprise an application server, a web server, and/or someother gateway or entry point. The portal through which a given sessionis established may depend on the member\'s device or method ofconnection. For example, a user of a mobile client device may connect tosystem 112 via a different portal (or set of portals) than a user of adesktop or workstation computer.

There are at least 3 additional elements in the System 106: a profileserver 108, illustration server 112, and a database such as a datastorage system 114, which may be a distributed data storage system.Database 114 and/or components of the database include appropriate datastorage devices (e.g., disks, solid-state drives).

Illustration server 112 maintains a graph representing the user/membercommunity or communities that make use of services offered by system106. The graph may be stored within database 114 or may be storedremotely to the system 106 such that messaging between the system andthe remote location occurs through the network 104. Within the graph,nodes represent members (either or both individual members andorganizations) and are coupled to other nodes via edges. Nodes haveattributes (and values for those attributes) corresponding to themembers they represent, and an edge may also have attributes related tothe connection it represents between two members (e.g., when the memberswere connected, how they were connected, a strength of the connection).The network of members of a service offered by system 106 mayillustratively number in the tens or hundreds of millions.

Profile server 108 maintains profiles of members of the service(s)hosted by system 106, which may be stored in the database 114 and/orelsewhere. An individual member\'s profile may include or reflect anynumber of attributes or characteristics of the member, includingpersonal (e.g., gender, age or age range, interests, hobbies, memberID), professional (e.g., employment status, job title, employer orassociated organization, industry, functional area or role, skills,endorsements, professional awards), social (e.g., organizations the useris a member of, geographic area of residence, friends), educational(e.g., degree(s), university attended, other training), among othersimilar data. A member\'s profile, or attributes or dimensions of amember\'s profile, may be used in various ways by system components(e.g., to identify who sent a message, to identify a recipient of astatus update, to select content to serve to the member or an associatedmember, to record a content-delivery event, to provide insight regardingthe member\'s connections). Some or all profile data of a member may beretained permanently or for a long period of time.

Organizations may also be members of the service (i.e., in addition toindividuals), and may have associated descriptions or profilescomprising attributes such as industry (e.g., information technology,manufacturing, finance), size, location, goal, etc. An organization maybe a company, a corporation, a partnership, a firm, a government agencyor entity, a not-for-profit entity, a group or collection of associatedmembers, or some other entity formed for virtually any purpose (e.g.,professional, social, educational). Either or both organizations andindividual members may “follow” and/or be followed by other members.

Every action or step described herein is fully and/or partiallyperformed by at least one of any element depicted and/or describedherein.

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present disclosure. It will be apparent, however,that the present disclosure may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent disclosure. Modifiers such as “first”, “second”, and “third” maybe used to differentiate elements, but the modifiers do not necessarilyindicate any particular order. For example, a first party may be sonamed although, in reality, it may be a second, third, and/or fourthparty.

In the US patent application 2016/0277527, henceforth referred to as the'527 application, the attributes of a visual representation (referred toas a graphing of the data) are altered such that the strength of theconnection is visually altered to reflect the attribute of theconnection. This modification may be implemented as a different linebetween two or more entities such as a darker line for a strongerconnection, or a different font such as a larger font for connectionsthat are stronger and smaller font for connections with a weakerconnection.

The current application is related to the '527 patents but providesembodiments that depict the relationship among content in a socialnetwork in a very efficient manner. Furthermore, the amount of contentin a given data may not reflect the importance of the content, but whatthe content means to an entity, wherein an entity may be a person, agroup of people, a project, etc.

The current application determines the relationship of data (e.g. adocument, a message, etc.) in the system such that data may be comparedagainst at least one other data in the system to determine the amount ofrelevance therein, henceforth referred to as the “relevant connection”.

Data is scanned via the system 106 wherein the data may be stored in thedatabase 114, and the current application may be executing on any of thedepicted servers in the system diagram 110, 108, 112, a separate serveras part of the system 106, or in the client device 102. In anotherembodiment, the current application may be executing on anothercomputer, such as a remote server (not depicted), coupled to the system106 and client device 102 via the network 104.

Natural language processing, or NLP is a branch of artificialintelligence that has many important implications on the way thatcomputers and humans interact. Human language, developed over thousandsand thousands of years, has become a nuanced form of communication thatcarries a wealth of information that often transcends the words alone.NLP allows, through processing of text, to obtain the meaning behind thewords and allows the system to gather the meaning behind what is there.

There are many applications of NLP in use today and the currentdisclosure will depict a subset of the more interesting examples.

For example, Semantria, a cloud-based text and sentiment analysis APIcan extract the keywords, named entities, and phrases from input.Semantria has used Wikipedia's ontology to build a concept matrix thatcan understand context and extract and tag keywords in articles of text.With Semantria it is also possible to identify and pull common keywordsfrom a collection of texts including their sentiment using what iscalled facets.

The following code is an example using Semantria in the C# language toprocess some sample text, followed by the processed output:

using System; using System.Collections.Generic; using System.Linq; usingSemantria.Com; namespace Quickstart {   class Program   {    static voidMain(string[ ] args)    {      // Replace with your API key and secret     string API_KEY = “”;      string API_SECRET = “”;      // Somesample text      List<String> myText = new List<string>( );

-   -   myText.Add(“Lisa—there's 2 Skinny cow coupons available $5        skinny cow ice cream coupons on special k boxes and Printable        FPC from facebook—a teeny tiny cup of ice cream. I printed off 2        (1 from my account and 1 from dh's). I couldn't find them        instore and i'm not going to walmart before the 19th. Oh well        sounds like i'm not missing much . . . lol”);    -   myText.Add(“In Lake Louise—a guided walk for the family with        Great Divide Nature Tours rent a canoe on Lake Louise or Moraine        Lake go for a hike to the Lake Agnes Tea House. In between Lake        Louise and Banff—visit Marble Canyon or Johnson Canyon or both        for family friendly short walks. In Banff a picnic at Johnson        Lake rent a boat at Lake Minnewanka hike up Tunnel Mountain walk        to the Bow Falls and the Fairmont Banff Springs Hotel visit the        Banff Park Museum. The \“must-do\” in Banff is a visit to the        Banff Gondola and some time spent on Banff Avenue—think candy        shops and ice cream. Have a Fanta while you're there.”);    -   myText.Add(“On this day in 1786—In New York City commercial ice        cream was manufactured for the first time.”);

      // Instantiate a Semantria session       ISerializer serializer =new Semantria.Com.Serializers.JsonSerializer( );      Semantria.Com.Session mySession =Semantria.Com.Session.CreateSession(API_KEY, API_SECRET,        serializer);       // Generate Semantria Document list to sendfor processing       List<Semantria.Com.Mapping.Document>myOutgoingDocuments = new        List<Semantria.Com.Mapping.Document>(myText.Count);      foreach (string aText in myText)       {         string DocId =Guid.NewGuid( ).ToString( );         Semantria.Com.Mapping.DocumentaDocument = new Semantria.Com.Mapping.Document( ){Id = DocId,    Text =aText};      myOutgoingDo cuments.Add(aDocument);    }    // Queue abatch of documents   mySession.QueueBatchOfDocuments(myOutgoingDocuments);    // Prepare alist for results    List<Semantria.Com.Mapping.Output.DocAnalyticData>myResults = new   List<Semantria.Com.Mapping.Output.DocAnalyticData>( );   foreach (Semantria.Com.Mapping.Document aDocument in  myOutgoingDocuments)    {     Semantria.Com.Mapping.Output.DocAnalyticData aResult = new  Semantria.Com.Mapping.Output.DocAnalyticData( );       aResult.Id =aDocument.Id;       aResult.Status = Semantria.Com.TaskStatus.QUEUED;      myResults.Add(aResult);      }      // Poll for results untilwe've got results for everything we sent      while (myResults.Any(item=> item.Status == TaskStatus.QUEUED))      {       // Wait 3 seconds inbetween each poll for results        System.Threading.Thread.Sleep(3000);         // Check forresults         IList<Semantria.Com.Mapping.Output.DocAnalyticData>         myIncomingResults = my Session.GetProcessedDocuments( );        foreach (Semantria.Com.Mapping.Output.DocAnalyticData      aIncomingResult in myIncomingResults)         {          for (inti = 0; i < myResults.Count; i++)          {            if(myResults[i].Id == aIncomingResult.Id)            {            myResults[i] = aIncomingResult;            break;          }        }       }      }    }   } }

Below is the output from the above C# code:

“64f5abc2fe604890a6e730ad0b8e3ff6” document queued successfully.

“3c5231606f874770b340393eb124b8cd” document queued successfully.

“94d304bf9eb44f28975f5113d394efea” document queued successfully.

Retrieving your processed results . . . .

Document 64f5abc2fe604890a6e730ad0b8e3ff6 Sentiment score: −0.36575

Document themes:

-   -   skinny cow ice cream coupons (sentiment: −0.3)    -   Skinny cow coupons (sentiment: −0.3)    -   tiny cup (sentiment: −0.36071876)

Document 3c5231606f874770b340393eb124b8cd Sentiment score: 0.54

Document themes:

-   -   guided walk (sentiment: 0.57000005)    -   short walks (sentiment: 0.52500004)    -   Banff Gondola (sentiment: 0.26250002)    -   candy shops (sentiment: 0.13125001)    -   ice cream (sentiment: 0.065625004)

Entities:

-   -   Lake Louise: Place (sentiment: 1.2)    -   Banff Avenue: Place (sentiment: 0.4)    -   Moraine Lake: Place (sentiment: 0.6)    -   Agnes Tea House: Place (sentiment: 0.6)    -   Fairmont Banff Springs Hotel: Company (sentiment: 0.0)

Document 94d304bf9eb44f28975f5113d394efea Sentiment score: 0.18291481

Document themes:

-   -   commercial ice cream (sentiment: 0.18291481)

Entities:

-   -   New York City: Place (sentiment: 0.152429)

As can be determined from examining the output from the code, theSemantria code is able to determine the theme of the sample text, aswell as elements such as location, business entities, etc. The use ofcode similar to the above example, it is possible to examine documentsand pull out themes, concepts, and overall topics of documents. Thethemes, concepts, and overall topics may be compared amongst multipledocuments to obtain their relationship to each other and ascertain anoverall understanding of the relationship between them.

Documents with diagrams and/or graphs may be scanned in addition totext-based documents. For example, graphs usually have x and y axes,which are usually labeled in the graph. These labels may be used as datasuch that the scanning of the document obtains the information relatedto the graph, even if the particular details of the data inside thegraph is not examined.

It stands to reason that the more detail the search, the more qualifiedthe results will be. If a document has multiple pages of text, thescanning of the document will produce a greater level of details that adocument with little text as there is less data in the analysis.

The system scans document 1 and document 2 and determines from thescanning of the documents that the first document has a theme of“project plan 2017 deliverable”. Scanning the data in the document andobtaining the themes, concepts, and overall topics of documentsdetermine this. The second document has the theme of “project planlocation-based billing module 2017 deliverable”.

The results of the scanned data are compared, and it is determined thatdue to the similarities of the scanned data of the two documents, theyare related. Both documents are related to a project plan, for example.

The system 106 is kept aware of the data (e.g. messages andmodifications to data such as files) in the environment. This isperformed via the system interacting with data through APIs of messagingapplications such as email and text messages, for example. The systemmay scan outgoing messages from the client device 102 such that eitherall of the messages, or a subset of the messages are scanned.

In another embodiment, the system 106 performs a scan of the dataassociated with the user, such as the timestamp of files associated withthe user.

For example, in a Linux-based system, the “stat” command returns thatlast time that the file was updated.

As a software design example, using an API of the source controlapplication, it is possible to determine all files in the system sortedaccording to a specific time period such that one can easily determineall files in the system which have been updated since a particular time.

The system scans the data of the users. The data may be present on thelocal file system of the client device 102, or may reside in the server106, the database 114, or remote locations such as remote data in thecloud or network 104.

In another embodiment, there are two phases of obtaining the data in thesystem, the initial scan and the updated scan. The initial scan isperformed upon application initialization wherein the process to scanthe user's data may process for an extended amount of time. Therefore,through the use of threads, the current application spans off a processthat allows the scanning of the user's data to be performed in thebackground.

Initial scan. This is performed upon the first use of the system, andthe data of the user is determined by the scanning of the data of theuser, wherein the data includes the messages and local and remotedocuments. The process of scanning the documents is further detailedherein and the output from the scans are the themes, concepts, andoverall topics of the data, henceforth referred to as scan data. Thescan data is stored in the system 106, such as in the database 114, forexample.

Updated scan. As data is modified, such as existing data being alteredor additional data introduced, these changes are determined in the abovemethod wherein the additional scan data is added to the previouslystored scan data. The determination of what data has been updated from agiven time period is further disclosed herein. For example, the systemmaintains a list of all data in the system, ordered by last datemodified. This list is generated on a periodic basis, such as every 2days. The data at the top of the list is the data that has been mostrecently modified. These files are scanned (or rescanned) wherein thescan data is stored as in the previous step.

In another embodiment, particular parts of the device's data, such asdirectories in the file system, may be excluded by the system whereinthe processing of the data does not occur. For example, personal filesin a business scenario would not need to be scanned, as the data doesnot pertain to the organization. The configuration module (as depictedherein) offers the ability to specify parts of the file system (eitherlocally or remotely) for the system to avoid when scanning for data.This is provided by the depiction of the file system using a componentthat shows the file structure such as JTree in the Java programminglanguage. The organization of the files in a tree component aredisplayed wherein directories and sub-directories may be selected bychecking a checkbox component, for example. When the system is scanningdata, the directories and/or sub-directories that have been previouslyexcluded in the configuration module are skipped.

The current application requests access to the user's data. This may beprovided upon application installation or first-time execution, as isnormally provided for applications installed on a device, such as amobile device 102 a. A notification is presented, displaying the accessthat the installed application seeks. By continuing the currentapplication will maintain the access verified. The application requestsaccess to the local file system and access to file managementapplications thereby retaining access to the user's local data in thecurrent device and access to remotely stored files, such as those storedin the cloud, or network 104, as well as data stored beyond the cloudsuch as in the database 114.

The application also requests access to the user's messaging applicationto scan the messages, such as email, chat, etc. The user's messages areaccessed through Application Program Interfaces (APIs) of the messagingapplications thereby gaining access to messages send and/or received.

In another embodiment, a configuration module is accessible via thecurrent system. For example, the current system executing on the clientdevice 102 contains a menu wherein the navigation of different parts ofthe application is possible. This navigation element may be implementedby many various Graphical User Interface (GUI) components, such asdropdown components, tabbed components, voice detection, etc. Theconfiguration module allows for the creation of preferable elements todetermine the impact of the relationship of data.

FIG. 1A shows a Graphical User Interface (GUI) of a configuration modulein one implementation of the current application 120 executing on theclient device 102. The GUI screenshot depicts the configuration optionsfor configuring elements of the preferable relationships among data inthe system. The configurable elements are hardcoded in the software ofthe current application. Other elements may be configured using variousGUI components wherein other elements may be configured in a similarmanner without deviating from the scope of the current application.

The configuration module contains one component 122 wherein theconfigurable elements reside. A title “Elements of Importance for DataModifications” informs the reader of the category of configuration.

There are 4 components listed that specify whether the system 106 willdetermine a higher priority when determining importance or criticalnessof a data modification 126. Clickable button components 124 are selectedvia a pointing device for those elements that are to be considered ahigher priority. The buttons are not radio button components and morethan one button may be selected at the same time.

A first item, “Time of Day” specifies whether the time of the datamodification is considered important when analyzing a data modification.

In another embodiment, another popup window is display upon selection ofthe “Time of Day” component such that the specific time of day deemedmore important may be entered [not depicted].

A second item, “Organizational Hierarchy” specifies whether the person'sorganizational position in the environment should part of thecalculation of the criticalness of the modification. As previouslydepicted, the system 106 may interface with a database of people in theenvironment, or interface with the organization's HR application viaAPIs to determine the organizational hierarchy.

A third item, “Project Slip” specifies whether the mentioning of aproject slip, or other variations of that phrase causes the datamodification to be of a critical nature.

A final item, “Base Code Change” specifies whether the modification of acode file or text indicating the modification of a code change whereinthe code file is considered a “base” level code file is considered to beof a critical nature. There exists a listing of all code files and/orcode areas composing the base or lower level of the code structure ofwhich the mentioned code file is compared against.

In another embodiment, other important keywords may be introduced in theconfiguration module (not depicted), wherein scan data containing thoseinput keywords are deemed as high priority by the system.

The list of configuration elements listed above serve to introduce someof the possible areas that may be configured. One versed in computerdesign and development may easily be able to implement other areas ofconfigurable elements without deviating from the scope of the currentapplication.

A “Submit” button 128 exists on the bottom of the window wherein theselected entries are submitted and stored in the current application.

When determining the criticalness of a data modification, consensusrules. Thus, the historical natures of the data change affects whether adata modification is considered critical.

In a project plan scenario, the historical characteristics of asuccessful project plan are built into the logic of the currentapplication when determining the data modification. For example, ifhistorically such as in the user's past work environment, the followinghave impacted project plans:

-   -   features initiated late in the project cycle    -   poor quality insurance    -   employee attrition    -   failure of timely submissions (without bugs) for critical        features    -   etc.

These items will be deemed of high importance when gauging thecriticalness of the data modification. In calculating the determinationof data modifications, the historical impact of categories is built intothe logic of the system 106.

In another embodiment, the keywords that the user believes are criticalare entered into a text field component in the configuration module [notdepicted]. These added keywords are used in calculation of thecriticalness of data modifications.

Graphical displays of the relationships are shown in the followingfigures, in multiple implementations of the current application. Therelationships are determined by the scanning of documents in the systemsuch as documents stored locally in the client device 102 or remotely ascoupled with the network 104. The system 106 scans the data of the user,including files and/or messages.

The related content is determined as related to document “X”, which isthe comparative document in the following figures. The content indocument “X” is first scanned by the system 106 wherein keywords andtheme of the document is stored by the system. As the other documents inthe system are scanned, they either relates entirely, relate partially,or do not relate to the document “X”.

The amount of relation to document “X” is visually depicted herein. Theamount of related data does not determine the strength of therelationship to document “X” only, but the content of the relateddocument. Thus, a single line in a document may cause a highrelationship where in another document; pages of data may be presentobtaining a lower relationship.

The amount of impact of the relationship of data is most important inbuilding relationships among data in a system.

To determine impact, the system determines scan data as furtherdisclosed herein. The scan data is prioritized according to theimportant keywords as determined in the configuration module, such asthose elements contained in the configuration section “Elements ofImportance for Data Modifications”

In one embodiment, the important keywords and areas of data asconfigured in the configuration module, and those keywords that the usermay have entered in as determined to be of high priority when examiningdata and/or data modifications.

In another embodiment, the user sending the data, for example a messageor the person modifying a document, is considered when determining theimpact of a change to data. The system 106 has obtained a hierarchy ofthe users in the environment. This is determined via the interactionwith organizational data such as a database (e.g. database 114)containing the employee data in the organization, or API interactionswith the organization's HR application, for example.

For example, if a person updating the data is higher in theorganization's hierarchy, then the probable impact of the datamodification is higher than a person lower in the organization'shierarchy.

FIG. 2 shows a graphical representation of the relationships ofdocuments in the system as related to document “X” in one implementationof the current application 200.

The graphical representation is presented in the current applicationexecuting on the client device, such as devices 102 a, 102 b, 102 c, 102d.

There are 6 documents 202 that have a relationship to document “X” 204,and 2 documents that have a different relationship to document “X” 206.This different relationship is content in document X 204 matches the 2documents 206 than the content matching the 6 documents 202.

Even though there are only 2 documents matching content 206, thestrength of the relationship between these documents is higher than thestrength of the relationship of the 6 documents 202, as noted by thedarker circle 206.

FIG. 3 shows a graphical representation of the details of a document inone implementation of the current application 300.

The popup 302 may be displayed upon the pointing device hovering over adocument icon, wherein after a timeout set in the code, an event isthrown, and a method is called to show the popup window 302 such thatthe details of the document is presented on the user interface (UI).

There exists an “Open” button 304 that executes the application relatedto the document type of the document.

In another embodiment, the lines and circles are clickable whereinadditional information may be displayed, such as the line betweendocument X 204 and the group of documents 206. When the lines/circlesare clicked on, the current application is presented the scan data ofthe data as obtained when the documents were scanned. The scan data isobtained from the stored data of the current application, such as fromdatabase 114 (not depicted).

FIG. 4 shows a second graphical representation of the relationships ofdocuments in the system as related to document “X” in anotherimplementation of the current application 400.

In the current depiction, the documents on the left 402 have beenaltered in size to reflect each document's relationship to document “X”wherein the larger the size of the document, the greater therelationship to document “X”, and the less the size of the document, thesmaller the relationship to document “X”.

FIG. 5 shows a third graphical representation of the relationships ofdocuments in the system as related to document “X” in anotherimplementation of the current application 500.

The strength of the relationship of the documents in relation todocument “X” is indicated by the thickness of the connection line 502.

Since there are multiple documents within the circle of documents, theline 502 reflects the overall relation to document “X” for the documentsas a whole.

FIG. 6 shows a fourth graphical representation of the relationships ofdocuments in the system as related to document “X” in anotherimplementation of the current application 600.

In addition to the thicker line between the two documents, and thedisplay of the modified sizes of the documents icons, the thickness ofan extended line from the thick line 502 to the document icon *602, 604)also indicates the strength of relationship between the document anddocument “X”.

The ownership of data can be understood by software logic. For example,files stored in an operating system file structure contain the owner ofthe file, or the sender of a message such as an email is the owner ofthe message. In software design and development, the owner of a file (orthe person assigned as having ownership of a code file) may be obtainedvia Application Program Interfaces (APIs) of source control programs.Therefore, it is possible for the system 106 to obtain the owner of agiven document.

When documents are altered, according to the modification made to agiven document, it may be necessary to inform the owner of the documentof the said change, especially in circumstances wherein the update is ofa critical nature.

This notification is performed by the system 106, based on thecriticalness of the modification made. To determine the criticalness ofthe change, the document is scanned by the system, and the impact of thechange is calculated by the logic of the current application.

FIG. 7 is a flow of the overall functionality of the current applicationin one implementation 700. The system 106 scans the data (e.g. messagesand files) of the users of the current application 708 wherein thesystem is aware of data that has been updated. The scanning of data isfurther disclosed herein.

A user of the current application sends a message such as an email ortext message 710 using a device 702. This data update is determined bythe system such that the message is routed through the system 106, orthe system detects the message via access to the message applicationexecuting on the device 702 through an API of the messaging application.

For example, the current application obtains the latest data updates byobtaining a list of all data modified in the system, ordered by latestdata listed first. The messages are included in this data and includethe messages sent/received by the user since the last time the requestwas executed.

The system 106 receives all messages sent/received by the user from themessaging application. The current application may send a copy of theoutgoing/incoming messages to the system 106 in one embodiment. Inanother embodiment, the messages are obtained via access to the messagedata through APIs that provides access to the message data.

The data is scanned, both files and message data wherein the result isthe scan data and is further disclosed herein

The system scans the message 714 wherein the theme and keywords aredetected through functionality further disclosed herein. The systemdetermines that the message a high priority data modification byanalyzing the theme and keyword(s) of the message 716 and determines therelated data and owner of the data to the message 718, such as a file inthe system 704.

The text of the message is added to the document 720. This may be addingthe text of the message at the top of the document 704, or interactingwith the application associated with the document, such as through APIs.

The current application, ascertaining the owner of the data (document ormessage), may notify the owner of the data via a notification message.The data owner may be determined by determining the “created by” elementof a file, or by determining the sender of message data as obtained inthe API of the messaging application.

The owner of the document 702 is notified by the system wherein anotification message is sent to the owner with text indicating thedocument that has been automatically updated 722.

In another embodiment, the text of the message 710 is also included inthe notification message 722, allowing the document owner to quicklyview the message originating the document update.

As a first example, User A sends a message with the following content:

-   -   [Email]    -   Subject: Location Based Billing Module Project    -   Message: Hello Jim,    -   Due to an unforeseen issue with the linking problem, a        restructure of the module DME_Billing_21 is necessary. I believe        that the current project will be delayed a minimum of 4 weeks.        Please give me a call to determine the impact. Bob

The message is scanned via the system 106 and the following keywords aredetermined:

-   -   Location-Based Billing Module Project    -   module DME_Billing_21    -   project delayed 4 weeks

The system 106 determines that the message is important from the keyword“delayed” as a delay to a schedule is a critical issue that may affectmany people in an organization. As a result, the message is added to theproject-planning document.

In one embodiment, the text of the message is added to the top of theproject-planning document. In another embodiment, the text of themessage is added as a note through the API of the project planningapplication.

In addition, the owner of the project-planning document is sent anotification with the text of the notification being the message text.

As a second example, User A sends a message with the following content:

[Text Message]

Jim, what are we going to do to handle the callData module errors? Ibelieve a meeting between you and I and the team is necessary. Bob

The message is scanned via the system 106 and the following keywords aredetermined:

-   -   callData module    -   errors

The system 106 determines that the message is important from the keyword“callData module” and “errors” as the callData module is a base codemodule, therefore the system 106 notifies the owner of the callDatamodule as is determined by the system interfacing with the source codeorganization application.

As a third example, the system obtains the following data as a call toUser A receives wherein the speech-to-text data is stored and obtainedby the current system 106.

-   -   [Call—Speech_to_Text]    -   Jim, this is Bob, I wanted to give you a heads up on the changes        requested in the transferCDR module, the impact may be        significant. Give me a call when you get a chance.

The message is scanned via the system 106 and the following keywords aredetermined:

-   -   changes    -   transferCDR

The system 106 determines that the message is important from the keyword“transferCDR” and “changes” as the transferCDR module is a base codemodule, therefore the system 106 notifies the owner of the transferCDRmodule as is determined by the system interfacing with the source codeorganization application.

Currently, it is estimated that 330,000 of transport-related accidentsare the result of texting while behind the wheel of a transport. Thefollowing are some of the most current statistics in the matter:

The National Safety Council reports that cell phone use while drivingleads to 1.6 million crashes each year. Nearly 330,000 injuries occureach year from accidents caused by texting while driving. 1 out of every4 transport accidents in the United States is caused by texting anddriving. Texting while driving is 6× more likely to cause an accidentthan driving drunk. Answering a text takes away your attention for aboutfive seconds. Traveling at 55 mph, that's enough time to travel thelength of a football field. Texting while driving causes a 400% increasein time spent with eyes off the road. Of all cell phone related tasks,texting is by far the most dangerous activity. 94% of drivers support aban on texting while driving. 74% of drivers support a ban on hand-heldcell phone use.

In a transportation related embodiment of the current invention, thecurrent system seeks to provide notification to the driver of atransport if the current transport system determines that the driver maybe utilizing their mobile device. While texting may be the worstactivity while driving, utilization of the device in any manner raisesthe potential for an accident. What are actions of a driver when thedriving is accompanied by mobile phone usage?

FIG. 8 is a system diagram of the current application 800. At least onedevice is located in a transport 802, which communicates with a network808. The network communicates with a server 810.

The transport 802 contains a device such as an in-transport navigationsystem or entertainment system, or any device including a processor andmemory 804, henceforth referred to as the transport system and acts asthe main communication device for the current application, and/or aclient device 806, and an image/video camera 807, which communicateswith the transport system 804. The client device being a device maycommunicate with the transport system 804 or may directly connect withthe network 808. Transport system 804 contains a processor and memory.The processor receives input, analyzes/parses the input, and provides anoutput to one or more systems, modules, and/or devices.

The client device may be least one of a mobile device, a tablet, or alaptop device. It should be noted that other types of devices might beused with the present application. For example, a PDA, an MP3 player, orany other wireless device, a gaming device (such as a hand held systemor home based system), any computer wearable device, and the like(including personal computer or other wired device) that may transmitand receive information may be used with the present application. Theclient device and/or the in-transport navigation system may execute auser browser used to interface with the network 808, an emailapplication used to send and receive emails, a text application used tosend and receive text messages, and many other types of applications.Communication may occur between the client device and/or thein-transport navigation system and the network 808 via applicationsexecuting on said device and may be applications downloaded via anapplication store or may reside on the client device by default.Additionally, communication may occur on the client device wherein theclient device's operating system performs the logic to communicatewithout the use of either an inherent or downloaded application.

A server 810 exists in the system, communicably coupled to the network808, and may be implemented as multiple instances wherein the multipleinstances may be joined to form a complete cryptocurrency wallet or maybe singular in nature. Furthermore, the server may be connected to adatabase (not depicted) wherein tables in the database are utilized tocontain the elements of the system and may be accessed via queries to adatabase, such as Structured Query Language (SQL), for example. Thedatabase may reside remotely to the server coupled to the network 808and may be redundant in nature.

Notification Details

Driver's head Driver's head is tilted downward looking at a mobiledevice Driver holding a Mobile device I front of the driver. Handholding mobile device the mobile device Eyes not on the road Driver'seyes are off of the road for a period of time, (e.g. greater than 4seconds) Driver looking at a Driver's eyes focusing to a mobile devicemobile device Driver using a One or both hands holding or providinginput to a mobile device mobile device

Each of the above items may be tracked via the use of a device used tomonitor occupants in a transport, such as monitoring camera 807, as anexample.

The movement signals are received from the monitoring camera 807, whichsends images/video to the transport system 804 for processing. Thetransport system tracks the movements of the occupants' head inreal-time, providing the ability for the altering of the direction ofthe headrest speakers as the occupants' head move.

In one embodiment, if the image/video received from the monitoringcamera 807 at the transport system 804 shows the user holding a mobiledevice such as client device 806, it is determined that the user isdriving while using a mobile device. The current speed of the transportis examined and if the speed is greater than the threshold speed whereinthe threshold speed is the speed of the transport determined to be aspeed wherein use of a mobile device is not recommended, then anotification is sent to the occupant.

The notification may be at least one of the following:

System Notification

Transport System - An audio message sent from the transport system Audio804 through the speakers of the transport. The audio message is: “Use ofa mobile device is not recommended.” Driver's seat The vibration of thedriver's seat. Transport System - The lowering of the audio in thetransport such Audio that the audio is not at a listening volume. Theaudio in the transport is returned to a previous level when thetransport system 804 determines that the mobile device is no longer inpossession of the driver. Transport Alert A warning light is displayedon the driver's System control panel. Transport Alert A warning light isdisplayed on the driver's HUD. System - HUD

FIG. 9 is a flowchart of the system notifying the driver while it isdetermined that the driver is using a mobile device while driving in oneimplementation of the current application 900.

The transport system 804 receives data from a transport device, such asa monitoring device 807. The analysis of the data, e.g. image and/orvideo, determines that the driver is utilizing a mobile device asfurther disclosed herein 902.

A check is made to determine the transport's current speed 904. Thecurrent speed is compared against a threshold speed wherein thethreshold speed is the speed that is hardcoded in the logic of thetransport system 804 and is the speed of the transport determined to besafe for utilization of a mobile device, e.g. 0 (zero) miles per hour.If the current speed is less than or equal to the threshold speed theprocess ends and no further processing is performed.

If the current speed of the transport is greater than the thresholdspeed, the driver is notified. The notification is at least one of thefollowing:

-   -   An audio message played through the sound system 906.    -   The driver's seat is vibrated 908.    -   The volume of the audio in the transport is lowered 910.    -   A warning light is displayed on the control panel of the        transport 912.    -   A warning light is displayed on the HUD of the transport 914.

Other notifications may be designed and developed by others and do notdeviate from the scope of the current application.

What is claimed is:
 1. A method, comprising: receiving, by a server, aproposed update to data, wherein the data is one or more of a process,and a document; determining keywords based on a parsing of the proposedupdate; determining a criticalness of the proposed update, based on thekeywords; determining a user related to the data; and notifying the userwhen the criticalness exceeds a threshold.
 2. The method of claim 1,wherein the proposed update is comprised of one or more of: a scanningof the document; and a message received, by the server, related to theproposed update, by a device.
 3. The method of claim 2, comprisingdetermining the proposed update by comparing an initial scan of thedocument and an updated scan of the document.
 4. The method of claim 1,wherein the user is one or more of: an owner of the document; and aperson responsible for the process.
 5. The method of claim 1, whereinthe criticalness is determined by comparing the keywords with a list ofcritical keywords.
 6. The method of claim 1, wherein the threshold isone or more of: a number of modified lines in the document; amodification to predetermined portions of the document; and amodification to predetermined words of the document.
 7. The method ofclaim 1, wherein the notifying includes the proposed update.
 8. Asystem, comprising: a server including a processor and memory, whereinthe processor is configured to perform: receive a proposed update todata, wherein the data is one or more of a process, and a document;determine keywords based on a parsing of the proposed update; determinea criticalness of the proposed update, based on the keywords; determinea user related to the data; and notify the user when the criticalnessexceeds a threshold.
 9. The system of claim 8, wherein the proposedupdate is comprised of one or more of: a scan of the document; and amessage received, by the server, related to the proposed update, by adevice.
 10. The system of claim 9, comprising determine the proposedupdate by a comparison of an initial scan of the document and an updatedscan of the document.
 11. The system of claim 8, wherein the user is oneor more of: an owner of the document; and a person responsible for theprocess.
 12. The system of claim 8, wherein the criticalness isdetermined by a comparison of the keywords with a list of criticalkeywords.
 13. The system of claim 8, wherein the threshold is one ormore of: a number of modified lines in the document; a modification topredetermined portions of the document; and a modification topredetermined words of the document.
 14. The system of claim 8, whereinthe notifying includes the proposed update.
 15. A non-transitorycomputer readable medium comprising instructions, that when read by aprocessor, cause the processor to perform: receiving, by a server, aproposed update to data, wherein the data is one or more of a process,and a document; determining keywords based on a parsing of the proposedupdate; determining a criticalness of the proposed update, based on thekeywords; determining a user related to the data; and notifying the userwhen the criticalness exceeds a threshold.
 16. The non-transitorycomputer readable medium of claim 15, wherein the proposed update iscomprised of one or more of: a scanning of the document; and a messagereceived, by the server, related to the proposed update, by a device.17. The non-transitory computer readable medium of claim 16, comprisingdetermining the proposed update by comparing an initial scan of thedocument and an updated scan of the document.
 18. The non-transitorycomputer readable medium of claim 15, wherein the user is one or moreof: an owner of the document; and a person responsible for the process.19. The non-transitory computer readable medium of claim 15, wherein thecriticalness is determined by comparing the keywords with a list ofcritical keywords.
 20. The non-transitory computer readable medium ofclaim 15, wherein the threshold is one or more of: a number of modifiedlines in the document; a modification to predetermined portions of thedocument; and a modification to predetermined words of the document.